package cn.juque.jdfsystem.bo;

import lombok.Data;

import javax.validation.constraints.*;
import java.math.BigDecimal;

/**
 * @author juque
 * @version 1.0.0
 * <ul>
 *     <li>FileInfoSaveBO</li>
 * </ul>
 * @date 2023-01-09 12:17:25
 **/
@Data
public class FileInfoSaveBO {

    /**
     * 模块ID
     */
    @NotEmpty(message = "所属模块不能为空")
    private String platformId;

    /**
     * 客户端文件名
     */
    @NotEmpty(message = "文件名不能为空")
    private String fileName;

    /**
     * 文件大小
     */
    @DecimalMin(value = "0.00", message = "文件大小未知")
    @DecimalMax(value = "52428800", message = "文件大小超限50M")
    private BigDecimal fileSize;

    /**
     * 扩展名
     */
    @NotEmpty(message = "扩展名不能为空")
    private String fileExt;

    /**
     * 文件格式
     */
    @NotEmpty(message = "文件格式不能为空")
    private String contentType;

    /**
     * 服务器文件路径
     */
    @NotEmpty(message = "文件路径不能为空")
    private String serverPath;

    /**
     * 是否有效
     */
    @NotNull(message = "文件状态不能为空")
    @Min(value = 0, message = "文件状态未知")
    @Max(value = 1, message = "文件状态未知")
    private Integer validFlag;

    /**
     * 范围域
     */
    @NotNull(message = "范围域不能为空")
    @Min(value = 1, message = "范围域未知")
    @Max(value = 2, message = "范围域未知")
    private Integer scope;

    /**
     * 虚拟目录
     */
    private String virtuallyPath;

    /**
     * 查看次数
     */
    @NotNull(message = "查看次数不能为空")
    private Integer pageviewTimes;

    /**
     * 文件流
     */
    @NotNull(message = "文件流不能为空")
    private byte[] byteArray;
}
